余烬缀记

Scrollbar appeared after setting margin-top

# 设置 margin-top 后导致浏览器出现滚动条

条件:

  • body height 为 100%

需求,例如侧边栏等块在不使用固定定位或者 vh 属性设置高度为 100%

原因:margin 会计算相邻两个节点的 margin-top/bottom 值,选取最大的

解决方法:

  • 目标节点设置浮动、定位(脱离流)
  • 目标父节点设置 padding、border、overflow: hidden(隐藏溢出)/ auto(浏览器计算是否有内容溢出动态设置滚动条)、postion: fixed/absolute、float、display: (不为 block)

margin-top 设置后出现滚动条一般都是高度加上 margin 超出屏幕了。